package com.life.wang.socket;

import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

/**
 * 网络客户端服务
 */
public class NIOClient {
    public static void main(String[] args) throws Exception {
        //1 得到一个网络通道
        SocketChannel channel = SocketChannel.open();

        //2 设置非阻塞方式
        channel.configureBlocking(false);

        //3 提供服务器端的IP和端口号
        InetSocketAddress address = new InetSocketAddress("127.0.0.1", 9999);

        //4 链接服务器端
        if (!channel.connect(address)){
            if (!channel.finishConnect()){
                System.out.println("Client:链接服务器端的同时，我还可以做其他的");
            }
        }

        //5 得到一个缓冲区并存入数据
        String msg = "hello,server";
        ByteBuffer writeBuf = ByteBuffer.wrap(msg.getBytes());

        //6 发送数据
        channel.write(writeBuf);

        //控制控制台不结束运行
        System.in.read();
    }
}
